#ifndef _PLAYER_H_
#define _PLAYER_H_

#include <string>
#include "hexworld.h"

class Player {

 public:

  Player();
  ~Player();

  // Accessors
  const string &name()       { return name_; }
  int index()                { return index_; }
  int army_size()            { return army_size_; }
  int num_free_roads()       { return num_free_roads_; }
  int num_free_settlements() { return num_free_settlements_; }
  int num_free_cities()      { return num_free_cities_; }
  int num_resources(int type){ return num_resources_[type]; }

  // Mutators
  void set_name(const string &name) { name_.assign(name); }
  int set_index(int index) { index_ = index; }
  // ...etc...?

 private:

  string name_;
  int index_;
  int army_size_;
  int num_free_roads_;
  int num_free_settlements_;
  int num_free_cities_;
  int num_resources_[Resource::kNumResources];
  // Deck development_cards;
  // Game *game;
};

#endif // _PLAYER_H_
